﻿#define _CRT_SECURE_NO_WARNINGS 1

//switch 语句
//#include<stdio.h>
//
//int main()
//{
//	int num = 0;
//
//	scanf("%d", &num);
//
//	switch (num)
//	{
//	case 1:
//		printf("hehe\n");
//		break;
//	case 2:
//		printf("haha\n");
//		break;
//	default:
//		printf("no\n");
//	}
//
//	return 0;
//}


//练习，输⼊⼀个1~7的数字，打印对应的星期⼏
//#include <stdio.h>
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//
//	switch (n)
//	{
//	case 1:
//		printf("星期一\n");
//		break;
//	case 2:
//		printf("星期二\n");
//		break;
//	case 3:
//		printf("星期三\n");
//		break;
//	case 4:
//		printf("星期四\n");
//		break;
//	case 5:
//		printf("星期五\n");
//		break;
//	case 6:
//		printf("星期六\n");
//		break;
//	case 7:
//		printf("星期七\n");
//		break;
//	default:
//		printf("输入错误\n");
//		break;
//	}
//
//	return 0;
//}

//如果需求发⽣变化，变为：
//1. 输⼊1~5，输出的是“⼯作⽇”;
//2. 输⼊6~7，输出“休息⽇”
//#include <stdio.h>
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//
//	switch (n)
//	{
//	case 1:
//	case 2:
//	case 3:
//	case 4:
//	case 5:
//		printf("工作日\n");
//		break;
//	case 6:
//	case 7:
//		printf("休息日\n");
//		break;
//	default:
//		printf("输入错误\n");
//		break;
//	}
//
//	return 0;
//}

//while循环
//#include <stdio.h>
//
//int main()
//{
//	while (1)
//	{
//		printf("hehe\n");
//	}
//
//	return 0;
//}

//练习：在屏幕上打印 1~10 的值
//#include<stdio.h>
//
//int main()
//{
//	int i = 1;
//	while (i < 11)
//	{
//		printf("%d ", i);
//		i++;
//	}
//
//	return 0;
//}

//输⼊⼀个正的整数，逆序打印这个整数的每⼀位
//例如：
//输⼊：1234，输出：4 3 2 1
//输⼊：521，输出：1 2 5
//#include<stdio.h>
//
//int main()
//{
//	int num = 0;
//	scanf("%d", &num);//1234
//
//	while (num)
//	{
//		printf("%d ", num % 10);//4 3 2 1
//		num /= 10;
//	}
//
//	return 0;
//}

//for循环
//#include<stdio.h>
//
//int main()
//{
//	int i = 0;
//	for (i = 1; i < 6; i++)
//	{
//		printf("%d -> hehe\n", i);
//	}
//
//	return 0;
//}

//练习：在屏幕上打印1~10的值
//#include<stdio.h>
//
//int main()
//{
//	int i = 0;
//	for (i = 1; i < 11; i++)
//	{
//		printf("%d ", i);
//	}
//
//	return 0;
//}

//计算1~100之间3的倍数的数字之和
//#include<stdio.h>
//
//int main()
//{
//	int i = 0;
//	int num = 0;
//
//	//测试：10(3的倍数有3,6,9)，和就是18
//	for (i = 1; i < 101; i++)
//	{
//		if (i % 3 == 0)
//		{
//			num += i;
//		}
//	}
//
//	printf("%d\n", num);
//
//	return 0;
//}

//优化
//#include<stdio.h>
//
//int main()
//{
//	int i = 0;
//	int num = 0;
//
//	//测试：10(3的倍数有3,6,9)，和就是18
//	for (i = 3; i < 101; i+=3)
//	{
//		num += i;
//	}
//
//	printf("%d\n", num);
//
//	return 0;
//}

//do - while 循环
//#include<stdio.h>
//
//int main()
//{
//	do
//	{
//		printf("hehe\n");
//	} while (0);// do while无论如何都会执行一次
//
//	return 0;
//}

//用do while在屏幕上打印1~10的值
//#include<stdio.h>
//
//int main()
//{
//	int i = 1;
//
//	do
//	{
//		printf("%d ", i);
//		i++;
//	} while (i < 11);
//
//	return 0;
//}

//输⼊⼀个正整数，计算这个整数是⼏位数？
//例如：
//输⼊：1234 输出：4
//输⼊：12 输出：2

//#include<stdio.h>
//
//int main()
//{
//	int num = 0;
//	int count = 0;
//	scanf("%d", &num);
//
//	do
//	{
//		num /= 10;
//		count++;
//	} while (num);
//
//	printf("%d\n", count);
//
//	return 0;
//}

//break和continue语句
//break是跳出循环
//continue是跳过后序的代码
// 
// while循环中的break和continue
//#include<stdio.h>
//
//int main()
//{
//	int i = 1;
//	while (i < 11)
//	{
//		if (i == 5)
//		{
//			//break;
//			continue;
//		}
//
//		printf("%d ", i);
//		i++;
//	}
//
//	//用breack运行后的结果是1 2 3 4
//	//用continue运行后的结果是1 2 3 4 死循环
//
//	return 0;
//}

//for循环中的break和continue
//#include<stdio.h>
//
//int main()
//{
//	int i = 0;
//	for (i = 1; i < 11; i++)
//	{
//		if (i == 5)
//		{
//			//break;
//			continue;
//		}
//
//		printf("%d ", i);
//	}
//
//	//用breack运行后的结果是1 2 3 4
//	//用continue运行后的结果是1 2 3 4 6 7 8 9 10
//
//	return 0;
//}

//do while循环中的break和continue
//#include<stdio.h>
//
//int main()
//{
//	int i = 1;
//	
//	do
//	{
//		i++;
//		if (i == 5)
//		{
//			//break;
//			continue;
//		}
//
//		printf("%d ", i);
//		//i++;
//	} while (i < 11);
//
//	//用breack运行后的结果是1 2 3 4
//	//用continue运行后的结果是1 2 3 4 死循环
//	//do while解决continue死循环的方法就是将i++移到if判断的前面，但打印的结果是2 3 4 6 7 8 9 10 11
//
//	return 0;
//}

//循环嵌套
//#include<stdio.h>
//
//int main()
//{
//	int i = 0;
//	for (i = 1; i < 11; i++)
//	{
//		int j = 0;
//		for (j = 1; j < i; j++)
//		{
//			printf("%d ", j);
//		}
//		printf("\n");
//	}
//
//	return 0;
//}


//找出100~200之间的素数，并打印在屏幕上。
//注：素数⼜称质数，只能被1和本⾝整除的数字。
//能被1和本身整除的就是素数
//#include<stdio.h>
//
//int main()
//{
//	int i = 0;
//	//产出100到200的数字
//	for (i = 100; i < 201; i++)
//	{
//		int j = 0;
//		int flag = 1;
//		//找除1和数本身以外，能被整除的就不是素数
//		for (j = 2; j < i; j++)
//		{
//			if (i % j == 0)
//			{
//				flag = 0;
//				break;
//			}
//		}
//
//		if (flag == 1)
//		{
//			printf("%d ", i);
//		}
//
//	}
//	return 0;
//}

//优化
//#include<stdio.h>
//
//int main()
//{
//	int i = 0;
//	//产出100到200的数字
//	//偶数都能被整除那么就改为只在奇数里找
//	for (i = 101; i < 201; i+=2)
//	{
//		int j = 0;
//		int flag = 1;
//		//找除1和数本身以外，能被整除的就不是素数
//		for (j = 2; j < i; j++)
//		{
//			if (i % j == 0)
//			{
//				flag = 0;
//				break;
//			}
//		}
//
//		if (flag == 1)
//		{
//			printf("%d ", i);
//		}
//
//	}
//	return 0;
//}

//再优化
//#include<stdio.h>
//
//int main()
//{
//	int i = 0;
//	//产出100到200的数字
//	//偶数都能被整除那么就改为只在奇数里找
//	for (i = 101; i < 201; i += 2)
//	{
//		int j = 0;
//		int flag = 1;
//		//如果是100，j*j<i,只用在1~10里找就行了
//		for (j = 2; j*j < i; j++)
//		{
//			if (i % j == 0)
//			{
//				flag = 0;
//				break;
//			}
//		}
//
//		if (flag == 1)
//		{
//			printf("%d ", i);
//		}
//
//	}
//	return 0;
//}

//goto 语句
//#include<stdio.h>
//
//int main()
//{
//	int i = 0;
//	while(1)
//	{
//		i++;
//		printf("%d ", i);
//		if (i == 10)
//		{
//			goto flag;
//		}
//
//	}
//
//	flag:
//
//	return 0;
//}

//写一个1分钟内倒计时关机
//输入：我是猪，就停止倒计时关机
//#include <stdio.h>
//#include <string.h>
//#include <stdlib.h>
//
//int main()
//{
//	system("shutdown -s -t 60");
//	char input[20] = { 0 };
//	printf("系统将在1分钟后关机，取消关机请输入：我是猪\n");
//flag:
//
//	scanf("%s", input);
//
//	if (strcmp(input, "我是猪") == 0)
//	{
//		printf("好的你是猪！倒计时已停止！\n");
//		system("shutdown -a");
//	}
//	else
//	{
//		printf("输入错误！倒计时还在继续！！！\n");
//		goto flag;
//	}
//
//	return 0;
//}

//用循环实现
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main()
{
	system("shutdown -s -t 60");
	char input[20] = { 0 };
	printf("系统将在1分钟后关机，取消关机请输入：我是猪\n");

	while (1)
	{
		scanf("%s", input);

		if (strcmp(input, "我是猪") == 0)
		{
			printf("好的你是猪！倒计时已停止！\n");
			system("shutdown -a");
			break;
		}
		else
		{
			printf("输入错误！倒计时还在继续！！！\n");
		}
	}

	return 0;
}

